package cn.topevery.garden.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.topevery.garden.entity.po.SampleFile;
import cn.topevery.garden.entity.po.ScheduleFile;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 *  视图
 *
 * @author code-generate
 * @date 2022-02-16
 */
@Data
@ApiModel(value = "Schedule 视图", description = " 视图")
public class ScheduleVO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

        /**
     * 养护内容
     */
    @ApiModelProperty(value = "养护内容")
    @Excel(name = "养护内容", orderNum = "0")
    private String content;

    /**
     * 执行日期
     */
    @ApiModelProperty(value = "执行日期")
    @Excel(name = "执行日期", orderNum = "0")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endDate;

    /**
     * 养护说明
     */
    @ApiModelProperty(value = "养护说明")
    @Excel(name = "养护说明", orderNum = "0")
    private String curingDesc;

    /**
     * 养护用料
     */
    @ApiModelProperty(value = "养护用料")
    @Excel(name = "养护用料", orderNum = "0")
    private String use;

    /**
     * 养护任务ID
     */
    @ApiModelProperty(value = "养护任务ID")
    @Excel(name = "养护任务ID", orderNum = "0")
    private String scheduleId;

    /**
     * 年度养护计划ID
     */
    @ApiModelProperty(value = "年度养护计划ID")
    @Excel(name = "年度养护计划ID", orderNum = "0")
    private String scheduleName;

    /**
     * 计划年份
     */
    @ApiModelProperty(value = "计划年份")
    @Excel(name = "计划年份", orderNum = "0")
    private Integer years;

    /**
     * 序号
     */
    @ApiModelProperty(value = "序号")
    @Excel(name = "序号", orderNum = "0")
    private Integer orders;

    /**
     * 计划编号
     */
    @ApiModelProperty(value = "计划编号")
    @Excel(name = "计划编号", orderNum = "0")
    private String number;

    /**
     * 所属项目组
     */
    @ApiModelProperty(value = "所属项目组")
    @Excel(name = "所属项目组", orderNum = "0")
    private String teamId;

    /**
     * 标段ID
     */
    @ApiModelProperty(value = "标段ID")
    @Excel(name = "标段ID", orderNum = "0")
    private String sectionId;

    private String sectionName;


    /**
     * 样点ID
     */
    @ApiModelProperty(value = "样点ID")
    @Excel(name = "样点ID", orderNum = "0")
    private String greenPointId;

    /**
     * 上报时间
     */
    @ApiModelProperty(value = "上报时间")
    @Excel(name = "上报时间", orderNum = "0")
    private LocalDateTime submitDate;

    /**
     * 1:新任务；2检查重做（主管）；3:审核重做（甲方）
     */
    @ApiModelProperty(value = "1:新任务；2检查重做（主管）；3:审核重做（甲方）")
    @Excel(name = "1:新任务；2检查重做（主管）；3:审核重做（甲方）", orderNum = "0")
    private Integer type;

    /**
     * 1:新任务；2检查重做（主管）；3:审核重做（甲方）
     */
    @ApiModelProperty(value = "1:新任务；2检查重做（主管）；3:审核重做（甲方）")
    @Excel(name = "1:新任务；2检查重做（主管）；3:审核重做（甲方）", orderNum = "0")
    private String typeDesc;

    /**
     * 流程状态。-1：作废；6：未上报；7：已上报；8：负责人驳回；9：负责人已验收；10：审核驳回；2：审核完成；11：审核未完成
     */
    @ApiModelProperty(value = "流程状态。-1：作废；6：未上报；7：已上报；8：负责人驳回；9：负责人已验收；10：审核驳回；2：审核完成；11：审核未完成")
    @Excel(name = "流程状态。-1：作废；6：未上报；7：已上报；8：负责人驳回；9：负责人已验收；10：审核驳回；2：审核完成；11：审核未完成", orderNum = "0")
    private Integer flowState;

    /**
     * 流程状态描述
     */
    @ApiModelProperty(value = "流程状态描述")
    @Excel(name = "流程状态描述", orderNum = "0")
    private String flowStateDesc;

    private Double usePay;

    @ApiModelProperty(value = "文件")
    private List<ScheduleFile> fileList;

    @ApiModelProperty(value = "审核结果")
    private Integer result;

    @ApiModelProperty(value = "审核意见")
    private String suggest;

    @ApiModelProperty(value = "审核时间")
    private LocalDateTime checkTime;

    @ApiModelProperty(value = "审核人id")
    private Integer checkerId;

    @ApiModelProperty(value = "审核人")
    private String checker;

    @ApiModelProperty(value = "审核意见")
    private String sampleDesc;

    @ApiModelProperty(value = "抽样文件")
    private List<SampleFile> sampleFileList;

    private LocalDateTime dbLastUpdateDate;
}
